home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FishMarket 1.0
/
FishMarket v1.0.iso
/
fishies
/
051-075
/
disk_075
/
comm
/
timer.c
< prev
next >
Wrap
C/C++ Source or Header
|
1992-05-06
|
996b
|
46 lines
#define TIMER 1
#include "globals.h"
extern struct Task *FindTask(), *MakeTask();
int Open_Timer() /* Open the timer device */
{
int error;
TimerMsgPort.mp_SigBit = NULL;
if ((error = OpenDevice(TIMERNAME, (long)UNIT_VBLANK, &TimerIO, 0L)) != 0)
return(error);
/* Set up the message port in the I/O request */
TimerMsgPort.mp_Node.ln_Type = NT_MSGPORT;
TimerMsgPort.mp_Node.ln_Name = "comm-timer";
TimerMsgPort.mp_Flags = 0;
TimerMsgPort.mp_SigBit = AllocSignal(-1L);
TimerMsgPort.mp_SigTask = FindTask(0L);
AddPort(&TimerMsgPort);
TimerIO.tr_node.io_Message.mn_ReplyPort = &TimerMsgPort;
return(0);
}
Close_Timer()
{
CloseDevice(&TimerIO);
RemPort(&TimerMsgPort);
}
StartTimer(seconds, micros)
ULONG seconds, micros;
{
TimerIO.tr_node.io_Command = TR_ADDREQUEST;
TimerIO.tr_node.io_Flags = IOF_QUICK;
TimerIO.tr_time.tv_secs = seconds;
TimerIO.tr_time.tv_micro = micros;
SendIO(&TimerIO);
}